.wrapper {
  display              : grid;
  grid-template-columns: 1fr 1fr;
  justify-content      : center;
  align-items          : center;
  width                : 100%;
  height               : 700px;

  .desc {
    display        : flex;
    flex-direction : column;
    justify-content: center;
    width          : 100%;
    height         : 100%;

    p {
      font-size   : 16px;
      text-align  : left;
      padding-left: 32%;
    }
  }

  .demoWrapper {
    position   : relative;
    width      : 200px;
    height     : 120px;
    margin-left: 50%;
    transform  : translateX(-50%);



    .circle {
      width           : 20px;
      height          : 20px;
      position        : absolute;
      border-radius   : 50%;
      background-color: #9b59b6;
      left            : 15%;
      transform-origin: 50%;
      animation       : circle .5s alternate infinite ease;

      &:nth-child(2) {
        left           : 45%;
        animation-delay: .2s;
      }

      &:nth-child(3) {
        left           : auto;
        right          : 15%;
        animation-delay: .3s;
      }
    }

    @keyframes circle {
      0% {
        top          : 60px;
        height       : 5px;
        border-radius: 50px 50px 25px 25px;
        transform    : scaleX(1.7);
      }

      40% {
        height       : 20px;
        border-radius: 50%;
        transform    : scaleX(1);
      }

      100% {
        top: 0%;
      }
    }

    .shadow {
      width           : 20px;
      height          : 4px;
      border-radius   : 50%;
      background-color: rgba(0, 0, 0, 1);
      position        : absolute;
      top             : 62px;
      transform-origin: 50%;
      z-index         : -1;
      left            : 15%;
      filter          : blur(1px);
      animation       : shadow .5s alternate infinite ease;

      &:nth-child(4) {
        left           : 45%;
        animation-delay: .2s
      }

      &:nth-child(5) {
        left           : auto;
        right          : 15%;
        animation-delay: .3s;
      }
    }

    @keyframes shadow {
      0% {
        transform: scaleX(1.5);
      }

      40% {
        transform: scaleX(1);
        opacity  : .7;
      }

      100% {
        transform: scaleX(.2);
        opacity  : .4;
      }
    }

    span {
      position      : absolute;
      top           : 75px;
      font-family   : 'Lato';
      font-size     : 20px;
      letter-spacing: 12px;
      color         : #9b59b6;
      left          : 15%;
    }

  }
}